textbtree: Initialize to zero the tags counting array
authorMarco Trevisan (Treviño) <mail@3v1n0.net>
Fri, 9 Jul 2021 01:34:40 +0000 (03:34 +0200)
committerMarco Trevisan (Treviño) <marco@ubuntu.com>
Fri, 9 Jul 2021 01:48:40 +0000 (03:48 +0200)
commit10bdf8c645a6ef22f273c0f9120ef4f1c51568e6
treebd347fd71a41c03ec93b3aa3e976eec1409cd11c
parent6818eee85900f2f50e99e5132d08b06ae12e823d
textbtree: Initialize to zero the tags counting array

We're using the tag contents array to count the number of invisible tags
set but we always increase it without being initialized.

This may lead to unexpected behavior when traversing them and it's
causing a reliable failure in the textiter tests under s390x.

So, memset that area content to 0 once allocated. It's not needed to do
the same for the tags themselves as we always assign them.

 Conditional jump or move depends on uninitialised value(s)
   at 0x4CFAA00: _gtk_text_btree_char_is_invisible (gtktextbtree.c:2569)
   by 0x4B8A1BB: find_visible_by_log_attrs (gtktextiter.c:3244)
   by 0x10E93D: check_backward_visible_word_start (textiter.c:484)
   by 0x10E93D: test_visible_word_boundaries (textiter.c:523)
   by 0x533288F: g_test_run_suite (in /usr/lib/s390x-linux-gnu/libglib-2.0.so.0)
   by 0x53328E7: g_test_run (in /usr/lib/s390x-linux-gnu/libglib-2.0.so.0)
   by 0x109CC1: main (textiter.c:807)
gtk/gtktextbtree.c